package ru.javadevelop.homefinans.activities;

import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Handler;
import android.view.View;
import android.view.inputmethod.InputMethodManager;

/**
 * http://t-menu.ru
 * User: navff
 * Date: 21.07.12
 * Time: 10:36
 */

/**
 * Расширенный класс Activity с дополнительными важными методами
 */
public class BaseActivity extends Activity {
    /**
     * Отображает окно сообщения с заданной задержкой. Не рекомендуются большие сообщения, ибо не влезут.
     * @param str   Сообщение
     * @param delay  Задержка в милисекундах
     */
    protected void showMessage(String str,int delay)
    {
        Dialog dlg = new Dialog(this);
        dlg.setTitle(str);
        dlg.show();
        timerDelayRemoveDialog(delay, dlg);

    }

    private void timerDelayRemoveDialog(long time, final Dialog d){
        new Handler().postDelayed(new Runnable() {
            public void run() {
                d.dismiss();
            }
        }, time);
    }

    /**
     * Устанавливает фокус ввода на заданный элемент
     * @param view   Элемент, которому передаём фокус
     */
    protected void setFocus(View view)
    {
        view.setFocusable(true);
        view.setFocusableInTouchMode(true);
        view.requestFocus();
    }

    /**
     * Скрывает клавиатуру у заданного элемента
     * @param view Элемент, у которого скрываем клаву
     */
    protected void hideKeyboard(View view)
    {
        InputMethodManager imm = (InputMethodManager)getSystemService(
                Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }

}


